1600
How do I set a computated cell individually

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Number");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Format");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "1.23");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValueFormat(h,1) = 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `2 * %0 + ` (2 * Number)``");
	h = _ObjectCallMethod( items , "AddItem", "1.23");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValueFormat(h,1) = 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `3 * %0 + ` (3 * Number)``");
	h = _ObjectCallMethod( items , "AddItem", "1.23");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValueFormat(h,1) = 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `currency(%0) + ` ( Currency(Number) )``");
_ObjectCallMethod( g2antt , "EndUpdate");

1599
How can I hide a specific hour
OBJECT chart,g2antt,insidezooms,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DrawGridLines", -1);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "AllowInsideZoom", -1);
	_ObjectSetProperty( chart , "FirstWeekDay", 1);
	_ObjectSetProperty( chart , "FirstVisibleDate", "3/31/2013");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 52");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "UnitScale", 65536);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(1).Label = `<font ;6><%h%></font>`");
	_ObjectSetProperty( chart , "UnitWidth", 14);
	_ObjectSetProperty( chart , "DrawGridLines", -1);
	_ObjectSetProperty( chart , "AllowInsideZoom", -1);
	_ObjectSetProperty( _ObjectGetProperty( chart , "DefaultInsideZoomFormat") , "InsideUnit", 1048576);
	_ObjectSetProperty( chart , "AllowResizeInsideZoom", 0);
	_ObjectSetProperty( chart , "InsideZoomOnDblClick", 0);
	insidezooms = _ObjectGetProperty( chart , "InsideZooms");
		_ObjectSetProperty( insidezooms , "SplitBaseLevel", 0);
		_ObjectSetProperty( insidezooms , "DefaultWidth", 0);
	insidezooms = _ObjectGetProperty( chart , "InsideZooms");
		_ObjectCallMethod( insidezooms , "Add", "3/31/2013 11:00:00 PM");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Item");
_ObjectCallMethod( g2antt , "EndUpdate");

1598
Is it possible to define the keys of the drop down values to be strings rather than numeric values
// Change event - Occurs when the user changes the cell's content.
FUNCTION g2anttEvents_Change(OBJECT g2antt, INT Item, INT ColIndex, VARIANT NewValue)
	Message( "NewValue is" );
	Message( NewValue );
END

OBJECT editor,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
editor = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "DropDownList-String") , "Editor");
	_ObjectSetProperty( editor , "EditType", 3);
	_ObjectCallMethod( editor , "AddItem", 1,"NYC|New York City");
	_ObjectCallMethod( editor , "AddItem", 2,"CJN|Cluj Napoca");
editor = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "DropDownList-Numeric") , "Editor");
	_ObjectSetProperty( editor , "EditType", 3);
	_ObjectCallMethod( editor , "AddItem", 1,"New York City");
	_ObjectCallMethod( editor , "AddItem", 2,"Cluj Napoca");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`NYC`),1) = 2");

1597
I have an edit field, when going to edit mode, the rightmost part is shown. Is it possible to show the left part instead

OBJECT column,editor,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Edit");
	_ObjectSetProperty( column , "Width", 64);
	_ObjectSetProperty( column , "AllowSizing", 0);
	editor = _ObjectGetProperty( column , "Editor");
		_ObjectSetProperty( editor , "EditType", 8);
		_ObjectSetProperty( editor , "Mask", ";;;rich");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Empty");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "This is a bit ot long text");
	_ObjectCallMethod( items , "AddItem", "");
_ObjectCallMethod( g2antt , "EndUpdate");

1596
I have a drop down field, the control shows the rightmost part of the selected caption. Is it possible to show the left part
OBJECT column,editor,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "DropDown");
	_ObjectSetProperty( column , "Width", 64);
	_ObjectSetProperty( column , "AllowSizing", 0);
	editor = _ObjectGetProperty( column , "Editor");
		_ObjectSetProperty( editor , "DropDownAlignment", 32);
		_ObjectSetProperty( editor , "EditType", 2);
		_ObjectCallMethod( editor , "AddItem", 1,"First item. This is a bit ot long text");
		_ObjectCallMethod( editor , "AddItem", 2,"Second item. This is a bit ot long text");
		_ObjectCallMethod( editor , "AddItem", 3,"Third item. This is a bit ot long text");
		_ObjectSetProperty( editor , "Mask", ";;;rich");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "PickEdit");
	_ObjectSetProperty( column , "Width", 64);
	_ObjectSetProperty( column , "AllowSizing", 0);
	editor = _ObjectGetProperty( column , "Editor");
		_ObjectSetProperty( editor , "DropDownAlignment", 32);
		_ObjectSetProperty( editor , "EditType", 14);
		_ObjectCallMethod( editor , "AddItem", 1,"First item. This is a bit ot long text");
		_ObjectCallMethod( editor , "AddItem", 2,"Second item. This is a bit ot long text");
		_ObjectCallMethod( editor , "AddItem", 3,"Third item. This is a bit ot long text");
		_ObjectSetProperty( editor , "Mask", ";;;rich");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Empty");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`First item. This is a bit ot long text`),1) = `Second item. This is a bit ot long text`");
	h = _ObjectCallMethod( items , "AddItem", "First item. This is a bit ot long text");
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "DropDownAlignment", 32);
		_ObjectSetProperty( editor , "EditType", 2);
		_ObjectCallMethod( editor , "AddItem", 1,"First item. This is a bit ot long text");
		_ObjectCallMethod( editor , "AddItem", 2,"Second item. This is a bit ot long text");
		_ObjectCallMethod( editor , "AddItem", 3,"Third item. This is a bit ot long text");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `Second item. This is a bit ot long text`");
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(h,1)");
		_ObjectSetProperty( editor , "DropDownAlignment", 32);
		_ObjectSetProperty( editor , "EditType", 14);
		_ObjectCallMethod( editor , "AddItem", 1,"First item. This is a bit ot long text");
		_ObjectCallMethod( editor , "AddItem", 2,"Second item. This is a bit ot long text");
		_ObjectCallMethod( editor , "AddItem", 3,"Third item. This is a bit ot long text");
_ObjectCallMethod( g2antt , "EndUpdate");

1595
Is there a property for the back color of the dropdown field
OBJECT editor,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
editor = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Date") , "Editor");
	_ObjectSetProperty( editor , "EditType", 7);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim ediObj")
	_ObjectCallMethod(g2antt, "TemplatePut", editor)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "ediObj.Option(55) = 15790320");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "ediObj.Option(56) = 65793");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddItem", "1/1/2001");
_ObjectCallMethod( g2antt , "EndUpdate");

1594
Is it possible to change a back color of the field/cell when it takes a focus
// EditClose event - Occurs when the edit operation ends.
FUNCTION g2anttEvents_EditClose()
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod( items , "ClearCellBackColor", _ObjectGetProperty( items , "FocusItem"),_ObjectGetProperty( g2antt , "FocusColumnIndex"));
END

// EditOpen event - Occurs when the edit operation starts.
FUNCTION g2anttEvents_EditOpen()
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellBackColor(FocusItem,Me.FocusColumnIndex) = 255");
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(FocusItem,Me.FocusColumnIndex) = Me.Items.CellValue(Me.Items.FocusItem,Me.FocusColumnIndex)");
END

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectSetProperty( g2antt , "FullRowSelect", 0);
_ObjectSetProperty( _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "C1") , "Editor") , "EditType", 1);
_ObjectSetProperty( _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "C2") , "Editor") , "EditType", 1);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`v1`),1) = `v2`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`v3`),1) = `v4`");

1593
How can I display the current date mask, but still allow empty values

OBJECT editor,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "CauseValidateValue", -1);
_ObjectSetProperty( g2antt , "FullRowSelect", 0);
_ObjectSetProperty( g2antt , "DrawGridLines", -2);
editor = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Date") , "Editor");
	_ObjectSetProperty( editor , "EditType", 7);
	_ObjectSetProperty( editor , "Mask", "!99/99/9999;1;;empty=1,validateas=1,invalid=Invalid date\, for the input mask <br><b>'<%mask%>'</b>!,warning=Invalid character!" +
	",select=4,overtype");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", );
	_ObjectCallMethod( items , "AddItem", "1/1/2001");
	_ObjectCallMethod( items , "AddItem", );
_ObjectCallMethod( g2antt , "EndUpdate");

1592
How can I align the days in a DateType editor
OBJECT editor,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "DropDown");
items = _ObjectGetProperty( g2antt , "Items");
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(AddItem(#1/1/2001#),0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "DropDownAlignment", 2);
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(AddItem(#1/1/2001#),0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "DropDownAlignment", 1);
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(AddItem(#1/1/2001#),0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "DropDownAlignment", 0);
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(AddItem(#1/1/2001#),0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "DropDownAlignment", 32);
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(AddItem(#1/1/2001#),0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "DropDownAlignment", 33);
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(AddItem(#1/1/2001#),0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "DropDownAlignment", 34);

1591
How can I align the drop down portion rather the inside captions
OBJECT editor,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "DropDown") , "Editor") , "EditType", 7);
items = _ObjectGetProperty( g2antt , "Items");
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(AddItem(#1/1/2001#),0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "DropDownAlignment", 32);
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(AddItem(#1/1/2001#),0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "DropDownAlignment", 16);
	_ObjectCallMethod( items , "AddItem", "1/1/2001");

1590
Is it possible to show a message that the field is empty

OBJECT column,editor,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( g2antt , "DrawGridLines", -2);
_ObjectSetProperty( g2antt , "FullRowSelect", 0);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Float");
	editor = _ObjectGetProperty( column , "Editor");
		_ObjectSetProperty( editor , "EditType", 8);
		_ObjectSetProperty( editor , "Mask", ";;;float,digits=0,grouping=,invalid=empty,warning=invalid character");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddItem", 192278);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddItem", 1000);

1589
How can I mask a date

OBJECT editor,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "CauseValidateValue", -1);
_ObjectSetProperty( g2antt , "FullRowSelect", 0);
_ObjectSetProperty( g2antt , "DrawGridLines", -2);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Date");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Mask");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "1/1/2001");
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "Mask", "{1,12}/{1,31}/{1950,2050};1;;select=1,warning=Invalid character!,invalid=Invalid date\, for the input mask <br><b>'<%mask%>'</b" +
	">!,validateas=1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = CellEditor(h,0).Mask");
	h = _ObjectCallMethod( items , "AddItem", "1/1/2001");
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "Mask", "!99/99/9999;1;;empty,validateas=1,invalid=Invalid date\, for the input mask <br><b>'<%mask%>'</b>!,warning=Invalid character!,s" +
	"elect=4,overtype");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = CellEditor(h,0).Mask");
	h = _ObjectCallMethod( items , "AddItem", "1/1/2001");
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "Mask", "!99/99/9999;;;empty,validateas=1,invalid=Invalid date\, for the input mask <br><b>'<%mask%>'</b>!,warning=Invalid character!,se" +
	"lect=4,overtype");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = CellEditor(h,0).Mask");
	h = _ObjectCallMethod( items , "AddItem", "1/1/2001");
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "Mask", "!99/99/9999;; ;select=4,overtype,empty,warning=Invalid character!,invalid=Invalid date\, for the input mask <br><b>'<%mask%>'</" +
	"b>!,validateas=1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = CellEditor(h,0).Mask");
	h = _ObjectCallMethod( items , "AddItem", "1/1/2001");
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "Mask", "![0-9 ][0-9 ]/[0-9 ][0-9 ]/[0-9 ][0-9 ][0-9 ][0-9 ];1;;empty,validateas=1,invalid=Invalid date\, for the input mask <br><b>'<%m" +
	"ask%>'</b>!,warning=Invalid character!,select=4,leading= ");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = CellEditor(h,0).Mask");
	h = _ObjectCallMethod( items , "AddItem", "1/1/2001");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(h,0) = `len(value) ? shortdateF(value) : ```");
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "Mask", "!99/99/9999;1;;empty,validateas=1,invalid=Invalid date\, for the input mask <br><b>'<%mask%>'</b>!,warning=Invalid character!,s" +
	"elect=4,overtype,leading");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = CellEditor(h,0).Mask");
	h = _ObjectCallMethod( items , "AddItem", "1/1/2001");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(h,0) = `len(value) ? shortdateF(value) : ```");
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "Mask", "!00/00/0000;1;;empty,validateas=1,invalid=Invalid date\, for the input mask <br><b>'<%mask%>'</b>!,warning=Invalid character!,s" +
	"elect=4,overtype,leading");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = CellEditor(h,0).Mask");
	h = _ObjectCallMethod( items , "AddItem", "1/1/2001");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(h,0) = `len(value) ? shortdateF(value) : ```");
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "Mask", "!00/00/0000;;0;empty,validateas=1,invalid=Invalid date\, for the input mask <br><b>'<%mask%>'</b>!,warning=Invalid character!,s" +
	"elect=4,overtype");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = CellEditor(h,0).Mask");
	h = _ObjectCallMethod( items , "AddItem", "1/1/2001");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(h,0) = `len(value) ? shortdateF(value) : ```");
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "Mask", "!00/00/0000;;;empty,validateas=1,invalid=Invalid date\, for the input mask <br><b>'<%mask%>'</b>!,warning=Invalid character!,se" +
	"lect=1,overtype");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = CellEditor(h,0).Mask");
_ObjectCallMethod( g2antt , "EndUpdate");

1588
How can I display and edit an integer number to show grouping digits too ( no decimals)
OBJECT column,editor,g2antt;

g2antt =  ObjectByName("AN1") ;
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Float");
	_ObjectSetProperty( column , "FormatColumn", "value format `0`");
	editor = _ObjectGetProperty( column , "Editor");
		_ObjectSetProperty( editor , "EditType", 8);
		_ObjectSetProperty( editor , "Mask", ";;;float,digits=0");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddItem", 192278);

1587
How can I display and edit a float number to show grouping digits too
OBJECT column,editor,g2antt;

g2antt =  ObjectByName("AN1") ;
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Float");
	_ObjectSetProperty( column , "FormatColumn", "value format ``");
	editor = _ObjectGetProperty( column , "Editor");
		_ObjectSetProperty( editor , "EditType", 8);
		_ObjectSetProperty( editor , "Mask", ";;;float");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddItem", 192278);

1586
How can I mask a phone number

OBJECT editor,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( g2antt , "CauseValidateValue", -1);
_ObjectSetProperty( g2antt , "DrawGridLines", -2);
_ObjectSetProperty( g2antt , "FullRowSelect", 0);
_ObjectSetProperty( _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Phone") , "Editor") , "EditType", 8);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", );
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 8);
		_ObjectSetProperty( editor , "Mask", "!(999) 000 0000;1;;select=1,empty,overtype,warning=invalid characer,invalid=The value you entered isn't appropriate for the inp" +
	"ut mask <b>'<%mask%>'</b> specified for this field.");
	h = _ObjectCallMethod( items , "AddItem", "0123");
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 8);
		_ObjectSetProperty( editor , "Mask", "!(999) 000 0000;2;;select=4");
	h = _ObjectCallMethod( items , "AddItem", "0123");
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 8);
		_ObjectSetProperty( editor , "Mask", "`Phone: `!(999) 000-0000");
	h = _ObjectCallMethod( items , "AddItem", "(074) 876-1222");
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 8);
		_ObjectSetProperty( editor , "Mask", "!(999) 000-0000;0");

1585
Is it possible to display the ColorType fields using RGB format
OBJECT editor,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Color") , "Editor") , "EditType", 9);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", 255);
	h = _ObjectCallMethod( items , "AddItem", 255);
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 9);
		_ObjectSetProperty( editor , "Mask", "`RGB(`{0,255}\,{0,255}\,{0,255}`)`;;0");
	h = _ObjectCallMethod( items , "AddItem", 255);
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 9);
		_ObjectSetProperty( editor , "Mask", "`&H`XXXXXXXX`&`;;0;overtype,insertype,warning=Wrong!");
	h = _ObjectCallMethod( items , "AddItem", 255);
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 9);
		_ObjectSetProperty( editor , "Mask", "`0x`XX `0x`XX `0x`XX;;0;overtype,insertype,warning=Wrong!");
	h = _ObjectCallMethod( items , "AddItem", 255);
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 9);
		_ObjectSetProperty( editor , "Mask", "R{0,255} G{0,255} B{0,255};;0;overtype,insertype,warning=Wrong!");
	h = _ObjectCallMethod( items , "AddItem", 255);
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 9);
		_ObjectSetProperty( editor , "Mask", "`(hexa) RGB 0x`XXXXXX;;0;overtype,insertype,warning=Wrong!");
	h = _ObjectCallMethod( items , "AddItem", 255);
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 9);
		_ObjectSetProperty( editor , "Mask", "`(decimal) Red: `{0,255}` Green: `{0,255}` Blue: `{0,255};;0;overtype,insertype,warning=Wrong!");
	h = _ObjectCallMethod( items , "AddItem", 255);
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 9);
		_ObjectSetProperty( editor , "Mask", "`(combine) Red: `{0,255}` Green: 0x`XX` Blue: `{0,255};;0;overtype,insertype,warning=Wrong!");

1584
How can I specify a different color for bars that cross over the non-working part of the chart

OBJECT bars,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
bars = _ObjectGetProperty( _ObjectGetProperty( g2antt , "Chart") , "Bars");
	_ObjectSetProperty( _ObjectCallMethod( bars , "Copy", "Task","STask") , "Color", 255);
	_ObjectSetProperty( _ObjectCallMethod( bars , "Add", "Task:STask") , "Shortcut", "TS");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 96");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim _ObObj")
	_ObjectCallMethod(g2antt, "TemplatePut", _ObjectGetProperty( chart , "Bars"))
	_ObjectSetProperty( chart , "NonworkingDaysColor", _ObjectCallMethod(g2antt, "ExecuteTemplate", "_ObObj.Item(`STask`).Color"));
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 1"),"TS","1/2/2001","1/16/2001");

1583
How can I merge two columns

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim Item")
	_ObjectCallMethod(g2antt, "TemplatePut", Item)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "Items.CellMerge(Item,0) = 1");
END

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectSetProperty( g2antt , "MarkSearchColumn", 0);
_ObjectSetProperty( g2antt , "TreeColumnIndex", -1);
_ObjectSetProperty( g2antt , "DrawGridLines", -1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Add(`C1`).Def(16) = False");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "C2");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "C3");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "This is bit of text that's shown on multiple lines. This is bit of text that's shown on multiple lines.");
	_ObjectCallMethod( items , "AddItem", "This is bit of text that's shown on multiple lines. This is bit of text that's shown on multiple lines.");

1582
How can I expand an item once the user clicks the column's checkbox

// CellStateChanged event - Fired after cell's state has been changed.
FUNCTION g2anttEvents_CellStateChanged(OBJECT g2antt, INT Item, INT ColIndex)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,ColIndex,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", ColIndex)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(Item) = CellState(Item,ColIndex)");
END

OBJECT column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
columns = _ObjectGetProperty( g2antt , "Columns");
	column = _ObjectCallMethod( columns , "Add", "");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(g2antt, "TemplatePut", column)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectSetProperty( column , "Width", 18);
		_ObjectSetProperty( column , "PartialCheck", -1);
	_ObjectCallMethod( columns , "Add", "Tasks");
_ObjectSetProperty( g2antt , "ShowFocusRect", 0);
_ObjectSetProperty( g2antt , "HasButtons", 0);
_ObjectSetProperty( g2antt , "TreeColumnIndex", 1);
_ObjectSetProperty( g2antt , "Indent", 14);
_ObjectSetProperty( g2antt , "ExpandOnDblClick", 0);
_ObjectSetProperty( g2antt , "LinesAtRoot", 0);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellState(h,0) = 1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `Project`");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,hChild")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", hChild)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(hChild,1) = `Task 1`");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(hChild,1) = `Task 2`");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1581
How can I define a column with check-box
OBJECT column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
columns = _ObjectGetProperty( g2antt , "Columns");
	column = _ObjectCallMethod( columns , "Add", "");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(g2antt, "TemplatePut", column)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectSetProperty( column , "Width", 18);
		_ObjectSetProperty( column , "PartialCheck", -1);
	_ObjectCallMethod( columns , "Add", "Tasks");
_ObjectSetProperty( g2antt , "ShowFocusRect", 0);
_ObjectSetProperty( g2antt , "HasButtons", 0);
_ObjectSetProperty( g2antt , "TreeColumnIndex", 1);
_ObjectSetProperty( g2antt , "Indent", 14);
_ObjectSetProperty( g2antt , "ExpandOnDblClick", 0);
_ObjectSetProperty( g2antt , "LinesAtRoot", 0);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellState(h,0) = 1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `Project`");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,hChild")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", hChild)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(hChild,1) = `Task 1`");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(hChild,1) = `Task 2`");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1580
We need to know how it's possibile to have the bars on the same line and not in a different line

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DrawGridLines", -1);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "DrawGridLines", -1);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2002");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`).OverlaidType = 515");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Tasks");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2002","1/7/2002","A");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/3/2002","1/8/2002","B");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/4/2002","1/9/2002","C");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`A`,33) = 255");
	_ObjectCallMethod( items , "AddLink", "AB",h,"A",h,"B");
	_ObjectCallMethod( items , "AddLink", "BC",h,"B",h,"C");
_ObjectCallMethod( g2antt , "EndUpdate");

1579
The Change event gets me the today date. How can I find what user typed
// Change event - Occurs when the user changes the cell's content.
FUNCTION g2anttEvents_Change(OBJECT g2antt, INT Item, INT ColIndex, VARIANT NewValue)
	Message( "NewValue:" );
	Message( NewValue );
	Message( "EditingValue:" );
	Message( _ObjectGetProperty( g2antt , "EditingText") );
END

OBJECT g2antt;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectSetProperty( _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Edit") , "Editor") , "EditType", 7);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddItem", "1/1/2001");
_ObjectCallMethod( g2antt , "EndUpdate");

1578
How can I add a footer row
OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( g2antt , "ShowLockedItems", -1);
_ObjectSetProperty( g2antt , "DrawGridLines", 2);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "C1");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "C2");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.LockedItemCount(2) = 1");
	h = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.LockedItem(2,0)");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBackColor(h) = 8421504");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemForeColor(h) = 16777215");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,0) = `footer c1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `footer c2`");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`cell`),1) = `cell`");

1577
How can I add a header row
OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( g2antt , "ShowLockedItems", -1);
_ObjectSetProperty( g2antt , "DrawGridLines", 2);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "C1");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "C2");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.LockedItemCount(0) = 1");
	h = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.LockedItem(0,0)");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBackColor(h) = 8421504");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemForeColor(h) = 16777215");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,0) = `footer c1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `footer c2`");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`cell`),1) = `cell`");

1576
How can I fix a column, while other sizable and fill the control's client
OBJECT column,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( g2antt , "ColumnAutoResize", -1);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Sizable");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "F");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "Width", 16);

1575
How can I programmatically add more columns to the sort bar and other to be sorted, but not included in the sort bar

OBJECT columns,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( g2antt , "SortBarVisible", -1);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", 0);
	_ObjectCallMethod( columns , "Add", 1);
	_ObjectCallMethod( columns , "Add", 2);
	_ObjectCallMethod( columns , "Add", 3);
	_ObjectCallMethod( columns , "Add", 4);
_ObjectSetProperty( g2antt , "Layout", "multiplesort=^"C3:1 C4:2^";singlesort=^"C2:1^"");

1574
I'm using different bar types, in order to use different colours. The problem I'm having is that when two bars of different types overlap, and should in the histogram show as overallocated, they instead overlap here too, and show as single unit. Is there a way I can correctly show this as an overallocation

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectSetProperty( chart , "HistogramVisible", -1);
	_ObjectSetProperty( chart , "HistogramHeight", 32);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`).HistogramPattern = 6");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Item 1"),"Task","1/2/2001","1/4/2001");
	h = _ObjectCallMethod( items , "AddItem", "Item 2");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/3/2001","1/7/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,33) = 255");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Item 3"),"Task","1/6/2001","1/9/2001");

1573
Is it possible to assign a different EBN to a specified bar

OBJECT appearance,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
appearance = _ObjectGetProperty( g2antt , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"c:\exontrol\images\normal.ebn");
	_ObjectCallMethod( appearance , "Add", 2,"c:\exontrol\images\pushed.ebn");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/4/2001");
	h = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/4/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,33) = 255");
	h = _ObjectCallMethod( items , "AddItem", "Task 3");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/4/2001");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,33) = 16777216");
	h = _ObjectCallMethod( items , "AddItem", "Task 4");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/4/2001");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,33) = 16777471");
	h = _ObjectCallMethod( items , "AddItem", "Task 5");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/4/2001");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,33) = 33619967");
_ObjectCallMethod( g2antt , "EndUpdate");

1572
How can I provide a mask for a date column
// Change event - Occurs when the user changes the cell's content.
FUNCTION g2anttEvents_Change(OBJECT g2antt, INT Item, INT ColIndex, VARIANT NewValue)
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim _ObObj,ColIndex,Item")
	_ObjectCallMethod(g2antt, "TemplatePut", _ObjectGetProperty( g2antt , "Items"))
	_ObjectCallMethod(g2antt, "TemplatePut", ColIndex)
	_ObjectCallMethod(g2antt, "TemplatePut", Item)
	Message( "Prev Value " );
	Message( _ObjectCallMethod(g2antt, "ExecuteTemplate", "_ObObj.CellValue(Item,ColIndex)") );
	Message( "Check and Update the NewValue" );
	Message( NewValue );
	NewValue = "1/1/2001";
END

OBJECT column,editor,g2antt;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "MarkSearchColumn", 0);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Date");
	_ObjectSetProperty( column , "FormatColumn", "day(value) + `/` + month(value) + `/` + year(value)");
	editor = _ObjectGetProperty( column , "Editor");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "Mask", "{1,12}\/{1,31}\/{1,2099}");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddItem", "1/1/2001");
_ObjectCallMethod( g2antt , "EndUpdate");

1571
I am trying to introduce a custom tool tip to those particular cells. I have it working and I know I can style the font etc. however, what I would like to do is style the tooltip container itself like add some padding or add a border color. Is this possible
OBJECT g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( g2antt , "ToolTipDelay", 1);
_ObjectSetProperty( g2antt , "ToolTipWidth", 364);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "VisualAppearance") , "Add", 1,"C:\Program Files\Exontrol\ExG2antt\Sample\EBN\frame.ebn");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(64) = 16777216");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "tootip") , "ToolTip", "this is a tooltip assigned to a column");

1570
Is it possible to edit a float number without using of e/E/d/D (exponent) and +/- (signs) characters
OBJECT editor,g2antt;

g2antt =  ObjectByName("AN1") ;
editor = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Edit") , "Editor");
	_ObjectSetProperty( editor , "EditType", 1);
	_ObjectSetProperty( editor , "Numeric", 770);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddItem", 1.22);

1569
How can I edit a float number with no using of e/E/d/D and + character
OBJECT editor,g2antt;

g2antt =  ObjectByName("AN1") ;
editor = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Edit") , "Editor");
	_ObjectSetProperty( editor , "EditType", 1);
	_ObjectSetProperty( editor , "Numeric", 258);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddItem", 1.22);

1568
Is it possible to edit a float number with no using of e/E/d/D (exponent) characters
OBJECT editor,g2antt;

g2antt =  ObjectByName("AN1") ;
editor = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Edit") , "Editor");
	_ObjectSetProperty( editor , "EditType", 1);
	_ObjectSetProperty( editor , "Numeric", 2);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddItem", 1.22);

1567
How can I edit an integer with no using of +/- signs
OBJECT editor,g2antt;

g2antt =  ObjectByName("AN1") ;
editor = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Edit") , "Editor");
	_ObjectSetProperty( editor , "EditType", 1);
	_ObjectSetProperty( editor , "Numeric", 1023);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddItem", 1);

1566
When I'm trying to show string with "line break" character (vbCrLF) in a textbox, it shows 2 squares. Is there any way to hide these squares

OBJECT column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "Value");
	column = _ObjectCallMethod( columns , "Add", "CellSingleLine = False");
		_ObjectSetProperty( column , "ComputedField", "%0");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(g2antt, "TemplatePut", column)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(16) = False");
	column = _ObjectCallMethod( columns , "Add", "FormatColumn/replace CRLF");
		_ObjectSetProperty( column , "ComputedField", "%0");
		_ObjectSetProperty( column , "FormatColumn", "value replace `\r\n` with ``");
	column = _ObjectCallMethod( columns , "Add", "FormatColumn/replace TAB,CRLF");
		_ObjectSetProperty( column , "ComputedField", "%0");
		_ObjectSetProperty( column , "FormatColumn", "(value replace `\t` with ``) replace `\r\n` with ``");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "a\ta\r\nb\tb");

1565
I am using the Chart.ShowLinksColor property, the question is it is possible to prevent changing the bar's color

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DefaultItemHeight", 24);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "NonworkingDays", 0);
	_ObjectSetProperty( chart , "LinksStyle", 0);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.ShowLinksColor(17) = 255");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.ShowLinksColor(18) = 65280");
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","1/2/2001","1/4/2001","");
	h2 = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h2,"Task","1/2/2001","1/4/2001","");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h2")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h2)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h2,``,257) = True");
	_ObjectCallMethod( items , "AddLink", "L1",h1,"",h2,"");
	h3 = _ObjectCallMethod( items , "AddItem", "Task 3");
	_ObjectCallMethod( items , "AddBar", h3,"Task","1/2/2001","1/4/2001","");
	_ObjectCallMethod( items , "AddLink", "L2",h2,"",h3,"");
	_ObjectCallMethod( items , "SchedulePDM", 0,"");
_ObjectCallMethod( g2antt , "EndUpdate");

1564
Apparently, the links are shown on the back. Is there any option to bring them in front

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/19/2006");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 64");
	_ObjectSetProperty( chart , "NonworkingDaysPattern", 1);
	_ObjectSetProperty( chart , "ShowLinks", 17);
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","9/20/2006","9/22/2006");
	h2 = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h2,"Task","9/26/2006","9/28/2006");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h2")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h2)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h2,``,257) = True");
	_ObjectCallMethod( items , "AddLink", "L1",h1,"",h2,"");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,12) = `L1`");
_ObjectCallMethod( g2antt , "EndUpdate");

1563
How can I enable the extended links feature

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DefaultItemHeight", 24);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "NonworkingDays", 0);
	_ObjectSetProperty( chart , "LinksStyle", 0);
	_ObjectSetProperty( chart , "ShowLinks", 1);
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","1/2/2001","1/4/2001","");
	h2 = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h2,"Task","1/2/2001","1/4/2001","");
	_ObjectCallMethod( items , "AddLink", "L1",h1,"",h2,"");
	h3 = _ObjectCallMethod( items , "AddItem", "Task 3");
	_ObjectCallMethod( items , "AddBar", h3,"Task","1/2/2001","1/4/2001","");
	_ObjectCallMethod( items , "AddLink", "L2",h3,"",h2,"");
	_ObjectCallMethod( items , "SchedulePDM", 0,"");
_ObjectCallMethod( g2antt , "EndUpdate");

1562
How do I count all bars in the chart
OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
items = _ObjectGetProperty( g2antt , "Items");
	hSummary = _ObjectCallMethod( items , "AddItem", "Task");
	_ObjectCallMethod( items , "AddBar", hSummary,"Task","1/2/2001","1/5/2001","K1");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task A");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/2/2001","1/5/2001","K1");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "InsertItem", hTask,"","Task A.1"),"Task","1/3/2001","1/5/2001","K11");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "InsertItem", hTask,"","Task A.2"),"Task","1/3/2001","1/5/2001","K12");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task B");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/2/2001","1/5/2001","K2");
	hTask = _ObjectCallMethod( items , "InsertItem", hTask,"","Task B.1");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/5/2001","1/9/2001","K21");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(0) = True");
	Message( "Count: " );
	Message( _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(0,`<*>`,256)") );
_ObjectCallMethod( g2antt , "EndUpdate");

1561
Is there any property to count the all child bars of a specified item ( all descendents )
OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Copy", "Task","CountTask") , "Color", 65280);
items = _ObjectGetProperty( g2antt , "Items");
	hSummary = _ObjectCallMethod( items , "AddItem", "Project");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,hSummary")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", hSummary)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBold(hSummary) = True");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task A");
	_ObjectCallMethod( items , "AddBar", hTask,"CountTask","1/2/2001","1/5/2001","K1");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "InsertItem", hTask,"","Task A.1"),"CountTask","1/3/2001","1/5/2001","K11");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "InsertItem", hTask,"","Task A.2"),"CountTask","1/3/2001","1/5/2001","K12");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task B");
	_ObjectCallMethod( items , "AddBar", hTask,"CountTask","1/2/2001","1/5/2001","K2");
	hTask = _ObjectCallMethod( items , "InsertItem", hTask,"","Task B.1");
	_ObjectCallMethod( items , "AddBar", hTask,"CountTask","1/5/2001","1/9/2001","K21");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(0) = True");
	_ObjectSetProperty( items , "DefaultItem", _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemByIndex(0)"));
	Message( "Count: " );
	Message( _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(-3,`<*>`,256)") );
	_ObjectSetProperty( items , "DefaultItem", 0);
_ObjectCallMethod( g2antt , "EndUpdate");

1560
Is there any property to count the child bars of a specified item ( leaf descendents )
OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Copy", "Task","CountTask") , "Color", 65280);
items = _ObjectGetProperty( g2antt , "Items");
	hSummary = _ObjectCallMethod( items , "AddItem", "Project");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,hSummary")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", hSummary)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBold(hSummary) = True");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task A");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/2/2001","1/5/2001","K1");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "InsertItem", hTask,"","Task A.1"),"CountTask","1/3/2001","1/5/2001","K11");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "InsertItem", hTask,"","Task A.2"),"CountTask","1/3/2001","1/5/2001","K12");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task B");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/2/2001","1/5/2001","K2");
	hTask = _ObjectCallMethod( items , "InsertItem", hTask,"","Task B.1");
	_ObjectCallMethod( items , "AddBar", hTask,"CountTask","1/5/2001","1/9/2001","K21");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(0) = True");
	_ObjectSetProperty( items , "DefaultItem", _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemByIndex(0)"));
	Message( "Count: " );
	Message( _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(-2,`<*>`,256)") );
	_ObjectSetProperty( items , "DefaultItem", 0);
_ObjectCallMethod( g2antt , "EndUpdate");

1559
Is there any property to count the child bars of a specified item ( direct descendents )
OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Copy", "Task","CountTask") , "Color", 65280);
items = _ObjectGetProperty( g2antt , "Items");
	hSummary = _ObjectCallMethod( items , "AddItem", "Project");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,hSummary")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", hSummary)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBold(hSummary) = True");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task A");
	_ObjectCallMethod( items , "AddBar", hTask,"CountTask","1/2/2001","1/5/2001","K1");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "InsertItem", hTask,"","Task A.1"),"Task","1/3/2001","1/5/2001","K11");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "InsertItem", hTask,"","Task A.2"),"Task","1/3/2001","1/5/2001","K12");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task B");
	_ObjectCallMethod( items , "AddBar", hTask,"CountTask","1/2/2001","1/5/2001","K2");
	hTask = _ObjectCallMethod( items , "InsertItem", hTask,"","Task B.1");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/5/2001","1/9/2001","K21");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(0) = True");
	_ObjectSetProperty( items , "DefaultItem", _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemByIndex(0)"));
	Message( "Count: " );
	Message( _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(-1,`<*>`,256)") );
	_ObjectSetProperty( items , "DefaultItem", 0);
_ObjectCallMethod( g2antt , "EndUpdate");

1558
How can I define all child items to belong to a summary bar (DefineSummaryBars-3)

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
items = _ObjectGetProperty( g2antt , "Items");
	hSummary = _ObjectCallMethod( items , "AddItem", "Summary");
	_ObjectCallMethod( items , "AddBar", hSummary,"Summary","1/2/2001","1/2/2001","");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task A");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/2/2001","1/5/2001","K1");
	hTask = _ObjectCallMethod( items , "InsertItem", hTask,"","Task A.1");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/3/2001","1/5/2001","K11");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task B");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/2/2001","1/5/2001","K2");
	hTask = _ObjectCallMethod( items , "InsertItem", hTask,"","Task B.1");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/5/2001","1/9/2001","K21");
	_ObjectCallMethod( items , "DefineSummaryBars", hSummary,"",-3,"<K*>");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(0) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1557
Can I define automatically the leaf descendents of the summary bar (DefineSummaryBars-2)

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
items = _ObjectGetProperty( g2antt , "Items");
	hSummary = _ObjectCallMethod( items , "AddItem", "Summary");
	_ObjectCallMethod( items , "AddBar", hSummary,"Summary","1/2/2001","1/2/2001","");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task A");
	_ObjectCallMethod( items , "AddBar", hTask,"1Task","1/2/2001","1/5/2001","K1");
	hTask = _ObjectCallMethod( items , "InsertItem", hTask,"","Task A.1");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/3/2001","1/5/2001","K11");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task B");
	_ObjectCallMethod( items , "AddBar", hTask,"1Task","1/2/2001","1/5/2001","K2");
	hTask = _ObjectCallMethod( items , "InsertItem", hTask,"","Task B.1");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/5/2001","1/9/2001","K21");
	_ObjectCallMethod( items , "DefineSummaryBars", hSummary,"",-2,"<K*>");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(0) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1556
How can I assign the childs bars to a summary bar (DefineSummaryBars-1)

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
items = _ObjectGetProperty( g2antt , "Items");
	hSummary = _ObjectCallMethod( items , "AddItem", "Summary");
	_ObjectCallMethod( items , "AddBar", hSummary,"Summary","1/2/2001","1/2/2001","");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task A");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/2/2001","1/5/2001","K1");
	hTask = _ObjectCallMethod( items , "InsertItem", hSummary,"","Task B");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/4/2001","1/8/2001","K2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,hSummary")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", hSummary)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(hSummary) = True");
	_ObjectCallMethod( items , "DefineSummaryBars", hSummary,"",-1,"<*>");
_ObjectCallMethod( g2antt , "EndUpdate");

1555
Is it possible to define a summary bar to include all bars in the chart (DefineSummaryBars-0)

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
items = _ObjectGetProperty( g2antt , "Items");
	hSummary = _ObjectCallMethod( items , "AddItem", "Summary");
	_ObjectCallMethod( items , "AddBar", hSummary,"Summary","1/2/2001","1/2/2001","summary");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task A"),"Task","1/2/2001","1/5/2001","K1");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task B"),"Task","1/6/2001","1/9/2001","K2");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task C"),"Task","1/11/2001","1/14/2001","K3");
	_ObjectCallMethod( items , "DefineSummaryBars", hSummary,"summary",0,"<K*>");
_ObjectCallMethod( g2antt , "EndUpdate");

1554
Is there any way to "unselect" radio group
// DblClick event - Occurs when the user dblclk the left mouse button over an object.
FUNCTION g2anttEvents_DblClick(OBJECT g2antt, INT Shift, INT X, INT Y)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		h = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellChecked(1234)");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", h)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellHasCheckBox(0,h) = True");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellState(0,h) = 0");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellHasCheckBox(0,h) = False");
END

// SelectionChanged event - Fired after a new item has been selected.
FUNCTION g2anttEvents_SelectionChanged()
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellState(FocusItem,0) = 1");
END

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectSetProperty( g2antt , "MarkSearchColumn", 0);
_ObjectSetProperty( g2antt , "SelBackColor", 8454143);
_ObjectSetProperty( g2antt , "SelForeColor", 0);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Radio 1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellHasRadioButton(h,0) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellRadioGroup(h,0) = 1234");
	h = _ObjectCallMethod( items , "AddItem", "Radio 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellHasRadioButton(h,0) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellRadioGroup(h,0) = 1234");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellState(h,0) = 1");
	h = _ObjectCallMethod( items , "AddItem", "Radio 3");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellHasRadioButton(h,0) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellRadioGroup(h,0) = 1234");

1553
The Column.Alignment property does not seem to work for cells with images in them. What can be done
OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( g2antt , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
_ObjectSetProperty( g2antt , "TreeColumnIndex", -1);
_ObjectSetProperty( g2antt , "DrawGridLines", -1);
_ObjectSetProperty( g2antt , "HeaderHeight", 24);
_ObjectSetProperty( g2antt , "DefaultItemHeight", 24);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Image");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "HTMLCaption", "<img>1</img>");
	_ObjectSetProperty( column , "HeaderAlignment", 1);
	_ObjectSetProperty( column , "Alignment", 1);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(17) = 1");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Rest");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "<img>1</img>");
	_ObjectCallMethod( items , "AddItem", "<img>2</img>");
	_ObjectCallMethod( items , "AddItem", "<img>3</img>");
_ObjectCallMethod( g2antt , "EndUpdate");

1552
Is there any way to determine in a bar would overlay another bar or to not allow this and get some error indication

// BarResize event - Occurs when a bar is moved or resized.
FUNCTION g2anttEvents_BarResize(OBJECT g2antt, INT Item, VARIANT Key)
	_ObjectCallMethod( g2antt , "Refresh");
END

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DefaultItemHeight", 22);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "InterectBars");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectSetProperty( bar , "OverlaidType", 2);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
		_ObjectCallMethod(g2antt, "TemplatePut", bar)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Overlaid(2) = `ERROR`");
	bar = _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Add", "ERROR");
		_ObjectSetProperty( bar , "Color", 255);
		_ObjectSetProperty( bar , "Pattern", 1);
		_ObjectSetProperty( bar , "Height", 7);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/4/2001","A","A");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/3/2001","1/5/2001","B","B");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,0) = IntersectBars(h,`A`,h,`B`)");
	h = _ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/6/2001","1/9/2001","A","A");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/10/2001","1/13/2001","B","B");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,0) = IntersectBars(h,`A`,h,`B`)");
	h = _ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/6/2001","1/9/2001","B","B");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/10/2001","1/13/2001","A","A");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,0) = IntersectBars(h,`A`,h,`B`)");
_ObjectCallMethod( g2antt , "EndUpdate");

1551
Is it possible to change the font size of the header compared to that of the control. I would like to make the font of the headers smaller
OBJECT column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "HeaderHeight", 32);
columns = _ObjectGetProperty( g2antt , "Columns");
	column = _ObjectCallMethod( columns , "Add", "ID");
		_ObjectSetProperty( column , "HTMLCaption", "<font ;16>ID");
		_ObjectSetProperty( column , "Width", 32);
		_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Task") , "HTMLCaption", "<font ;16>Task");
_ObjectSetProperty( g2antt , "FocusColumnIndex", 1);
_ObjectSetProperty( g2antt , "ShowFocusRect", 0);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(1),1) = `Task A`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(2),1) = `Task B`");
_ObjectCallMethod( g2antt , "EndUpdate");

1550
How can I create items and bars at runtime
OBJECT chart,column,columns,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
columns = _ObjectGetProperty( g2antt , "Columns");
	column = _ObjectCallMethod( columns , "Add", "ID");
		_ObjectSetProperty( column , "FormatColumn", "1 index ''");
		_ObjectSetProperty( column , "Width", 32);
		_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( _ObjectGetProperty( _ObjectCallMethod( columns , "Add", "Task") , "Editor") , "EditType", 1);
_ObjectSetProperty( g2antt , "FocusColumnIndex", 1);
_ObjectSetProperty( g2antt , "ShowFocusRect", 0);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectSetProperty( chart , "AllowCreateBar", 1);
_ObjectSetProperty( g2antt , "Template", "Chart.Bars(^"Task^"){Def(3) = ^"<%=%C1%>^";Def(4)=18}");
_ObjectCallMethod( g2antt , "EndUpdate");

1549
How can I a group summary bar with a task bar, so when the summary bar changes the task bar will move accordingly

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
items = _ObjectGetProperty( g2antt , "Items");
	hSummary = _ObjectCallMethod( items , "AddItem", "Summary");
	_ObjectCallMethod( items , "AddBar", hSummary,"Summary","1/2/2001","1/2/2001");
	hTask = _ObjectCallMethod( items , "AddItem", "Task A");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/2/2001","1/5/2001");
	_ObjectCallMethod( items , "DefineSummaryBars", hSummary,"",hTask,"");
	hTask = _ObjectCallMethod( items , "AddItem", "Task B");
	_ObjectCallMethod( items , "AddBar", hTask,"Task","1/4/2001","1/8/2001");
	_ObjectCallMethod( items , "DefineSummaryBars", hSummary,"",hTask,"");

1548
How can I show the bars using a solid color, with no pattern inside

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DefaultItemHeight", 24);
_ObjectSetProperty( g2antt , "DrawGridLines", -1);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "DrawGridLines", -1);
	_ObjectSetProperty( chart , "NonworkingDays", 0);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`).Pattern = 1");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Solid A");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/4/2001","A");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/5/2001","1/7/2001","B");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`B`,33) = 255");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/8/2001","1/10/2001","C");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`C`,33) = 65280");
	h = _ObjectCallMethod( items , "AddItem", "Solid B");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/4/2001","A");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`A`,7) = 255");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/5/2001","1/7/2001","B");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`B`,33) = 255");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`B`,7) = 65280");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/8/2001","1/10/2001","C");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`C`,33) = 16711680");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`C`,7) = 16711935");
_ObjectCallMethod( g2antt , "EndUpdate");

1547
Basically what I am trying to do is replicate MS Project look & feel. Is that possible

OBJECT appearance,chart,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
appearance = _ObjectGetProperty( g2antt , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAEGg4BNUMQAAYAQGKIYBkAKBQAGaAoDDMOQ4QwAAxDCKsEwsACEIrjKCRShyCYZRhGcTALD8EhhECTZKkAYQEiKLoaRzAcwyDAcQRFCKUJxhEYZa" +
	"i+NobSBQMZqBQgASIUCLZ5ACSYEigAovTULCKwJiWNZDUTRcTxCKQahLLivIhGUYKfgmY5lT5VUT1HS9IShJSmKTlORLOi+M4zUJLc4SVblGz7FyfYDBKygLqqFigLAx" +
	"dDYTRNfzjHiTKbtGA7MADA4DVTAeC2bC+EYVTytY4sHQrIACZ5iWREMhXTi0E4rTa6dTxaS6KzKGqsZbsNAbHLdHTfVy1Mx1XaobqDJZdaTpdjaTDeJSjVjKdx4TZqSi" +
	"zjSGJOgcU4RhcIQDDURhIESXwEGgbQJBQQjeggQBiC4NJAluGJrAUB5Lmmc56n4Pp/i+NQjmqdQ5k2J5+AGAAgCgFgEgAHxQAGfoBmAOA2AaAxghgLgOgMIJ4AoER8mE" +
	"WBSBoNohHKAgZgSYgIHYH4ImCB5OAqBghjiEgcgmIQoioD4IiKGJGCsUgUHiVirmOBQVAEgI=");
	_ObjectCallMethod( appearance , "Add", 39,"CP:1 -1 -1 0 0");
	_ObjectCallMethod( appearance , "Add", 40,"gBFLBCJwBAEHhEJAEGg4BEcMQAAYAQGKIYBkAKBQAGaAoDDMOQ4QwAAxDCKsEwsACEIrjKCRShyCYZRhGcTAFD8EhhECTZKkAZwEiKLoaRzAcwyDAcQRFCKUJxlKa5P" +
	"jaLwAAbJMZKAqDDgBIijIqnKA5JoyKIkTzCIJxXScByDGqNaQoehYXhEMg1CTXVgRCKoYTDBKybLqGT6VoCP5vWJaURWHZFTTJOyNagmSJ6XACbQMW7gNYQGBEEigNIx" +
	"ToOU4jFDGIB2VAQRK5BDQbQSFCpIRCCRQYhcQJ6YIAD76HomS5NU7UNKhHSdMy3J6ra5sOqbBqWa5LWjbNq3DadSzvPKub5vexwHwWawSUDkOR5Li+M43S4JPS5bZdDx" +
	"PiWVJrnWOw9F6XxTiGWpsHcO5+C6Xx7kOZpwHoOxeF8T4fkeYJgnEdZwOwQRBnSex9H6f4vk+c5xn4fZQhQBCAg==");
	_ObjectCallMethod( appearance , "Add", 41,"gBFLBCJwBAEHhEJAEGg4BQICg6AADACAxRDAMkOQAGaAoDDUMQyQwAAxDSK8EwsACEIrjKCRShyCYZRhGcTALBMIwKGABIRGUZJGDkOYgDCBEhTHDUOwHGyQYDkCQoR" +
	"iYMAwTBQMaTXDdCQ1ECkJomObqAgkMZCTbKMySAA0NgPD6sKSjOIRSDUJZcV5EoAKfiqZIRSJSMZVLLVNSVJipAAlOTZPo6JJuTLOE4WVRcSydH6oAApeg6KoYAFzQAE" +
	"DCbYgOTKBYLUOCwTZmDwTK6BcTtXDbejeYYcZ7DNj2NYtJ4TRCBcpzLLIXrCKg0TBPQ4YNC2DT5VDWIq1aDdQo7MpxWjlGI5Ri2c51UDSYi0G4tDyLSYWXDfFSQTrHDQ" +
	"XhAAghCUAxJgyaB1DkGRyDCKBhAiGwLg0DYhCKDI8CcVwIAwRotBeAYCCmBZ0nsfR+n+L5PlYE53BwTpzn4AIAiAGAOAMfZfmeVBwDuD54C4DYDCCaA6AgQJfHGPJtD+" +
	"YRoGIF4GGGrAAH2RpjjCf4IGIOIKCSCQhmeXBtDqT54i4LYLCKaI6CkfRGlOKgtg2IxYl4OoMkwIYwmkP5jmkAg/hAZAYnAaw6A+eQeEmEgkikKg8BqDkYFCFIlBkThT" +
	"g8BoThif4WGWORqFyFwjkGIJlD+ZgphIY4ZGYWYEmSGQmjGIhthvMpwGcOJPnmTh1h0JxploPAZg4I5+HyH4nlmfh/g8BhTgSf4hGgegagiIlShCYA/miahCg+JBpUIY" +
	"w3k+ehehmJgpioaoWDeKYagAY4oioSZFn2BQfFGCJdD+aoqjKK4rGqWJwGENwPnqTo1i1gtiBgDYzn6PIviuWp+j+DwFnMaJ/jEbB7BqSIyCOQR4lkP5smsQpPjQbQbD" +
	"SWI0C0cR6lmNpqGMCgJDCBZTFyf44G4O4KmSOWTnCVg/m6K4ymuOxu4OWw1E+e5OnWPQvGvYgWg0Q5+nyP4vlvE+OBMTJ/kEcB8BsCJCDATArA6QhxAgeIgkScRMFcFp" +
	"FlCFAEICA");
	_ObjectCallMethod( appearance , "Add", 42,"gBFLBCJwBAEHhEJAEGg4BY8MQAAYAQGKIYBkAKBQAGaAoDDMOQ4QwAAwjQLMEwsACEIrjKCRShyCYZRhGcTALD8EhhECTZKkAYgEiKLoaRzAcwyDAcQRFCKUJxhEY5a" +
	"i+NobRCAUiwHQUBr/I4AKLfeJ5dACKYNShRMrSABMNgZBKpJAqKiqJoiFoRDINIi2BYUIhqGCxYRseyZegmEYWVTREr3HKsVTtAanjZSJakXxnGaQJ7jKaLXo6II8YTI" +
	"WBABaIAQiBahQArOiKchaTZ5YheFRYVBOG4bK6BcguW4qGxSXpuRxZOo2YAFVzNNC3YzkCIcegnIp9ZxeFK5Tg1Z4XKTaNwqPBcYpHPqdVhCOgYZwUb5XMjWNatLYIbo" +
	"ziiUhzCAeJeG6ZAAAiBIUA0JgziGVJkGUGJIBgUYSBEN5VBoGxCEUHItjSFAxBcRhim4dIqFGTB+BUfxfneegAgCYAoBQFR+lQeASAEBRIGESAogMYJ4DoEIEmCaAqAo" +
	"JoGGCbgYgaIYYG4HoHGICByCKAoKmGZBOgkYh4hoKIKmKKI2CmC5giMBINBgY0AjODRjgiXg6g2I8glUKAHEifhBhAJApBYRIRmQOQmAoOgLBIEhMhOJJZD4UoUGUSRC" +
	"FaAoOHKPIAhYZY5GoXIXmWaYGF2GJlgKMB9DmZhpiIZ4aGaSYuG6GomigWgGDmCohmYdIdicWZeHqHRnCgHgIh8aAIBoCA/lAECAg");
_ObjectSetProperty( g2antt , "Appearance", 671088640);
_ObjectSetProperty( g2antt , "BackColor", 16777215);
_ObjectSetProperty( g2antt , "BackColorLevelHeader", 16777215);
_ObjectSetProperty( g2antt , "BackColorHeader", 654311424);
_ObjectSetProperty( g2antt , "SelBackColor", 0);
_ObjectSetProperty( g2antt , "SelForeColor", 16777215);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "BackColorLevelHeader", 654311424);
	_ObjectSetProperty( chart , "BackColor", 16777215);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`).Color = 704643072");
_ObjectSetProperty( g2antt , "FilterBarBackColor", 16777216);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(32) = 687865856");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(64) = 16777216");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(18) = 16777216");
_ObjectCallMethod( g2antt , "EndUpdate");

1546
Is there anyway to change the style of the splitter which separates the list/chart
OBJECT g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( _ObjectGetProperty( g2antt , "VisualAppearance") , "Add", 1,"c:\exontrol\images\normal.ebn");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(0) = 16777216");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(18) = 33488896");

1545
Does your control support subscript or superscript, in HTML captions

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 64");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Item 1");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/4/2001","");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,3) = `<sha ;;0>Event <b><font ;6><off -6>2<off 4>3<off 4>1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,4) = 18");

1544
I have noticed that the column's header is changed once the cursor hovers it. Is it possible to change that visual appearance

OBJECT columns,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( _ObjectGetProperty( g2antt , "VisualAppearance") , "Add", 1,"c:\exontrol\images\normal.ebn");
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "Column 1");
	_ObjectCallMethod( columns , "Add", "Column 2");
_ObjectSetProperty( g2antt , "BackColorHeader", 16777216);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(32) = 19760895");

1543
Is it possible to change the visual appearance of the columns selector/floating bar(3)

OBJECT columns,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "Column 1");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Column 2") , "Visible", 0);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "VisualAppearance") , "Add", 2,"c:\exontrol\images\normal.ebn");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "VisualAppearance") , "Add", 3,"c:\exontrol\images\pushed.ebn");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(92) = 33554432");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(87) = 50331648");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(93) = 15791606");
_ObjectSetProperty( g2antt , "ColumnsFloatBarVisible", -1);

1542
Is it possible to change the visual appearance of the columns selector/floating bar(2)

OBJECT columns,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "Column 1");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Column 2") , "Visible", 0);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "VisualAppearance") , "Add", 3,"c:\exontrol\images\pushed.ebn");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(87) = 50331648");
_ObjectSetProperty( g2antt , "ColumnsFloatBarVisible", -1);

1541
Is it possible to change the visual appearance of the columns selector/floating bar(1)

OBJECT g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( _ObjectGetProperty( g2antt , "VisualAppearance") , "Add", 2,"c:\exontrol\images\normal.ebn");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(92) = 33554432");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(87) = 15791606");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(93) = 15791606");
_ObjectSetProperty( g2antt , "ColumnsFloatBarVisible", -1);

1540
I am using the ColumnsFloatBarVisible property on True, but still not able to add any column on that list
OBJECT columns,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "Column 1");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Column 2") , "Visible", 0);
_ObjectSetProperty( g2antt , "ColumnsFloatBarVisible", -1);

1539
Is it possible to list a column to columns selector/floating bar, but still user can use it

OBJECT column,columns,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "Column 1");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Column 2") , "Visible", 0);
	column = _ObjectCallMethod( columns , "Add", "Column 3");
		_ObjectSetProperty( column , "Visible", 0);
		_ObjectSetProperty( column , "Enabled", 0);
_ObjectSetProperty( g2antt , "ColumnsFloatBarVisible", -1);

1538
How can I prevent a specific column not to be listed in the columns selector/floating bar
OBJECT column,columns,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "Column 1");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Column 2") , "Visible", 0);
	column = _ObjectCallMethod( columns , "Add", "Column 3");
		_ObjectSetProperty( column , "Visible", 0);
		_ObjectSetProperty( column , "AllowDragging", 0);
_ObjectSetProperty( g2antt , "ColumnsFloatBarVisible", -1);

1537
Is it possible to change the "Columns" caption being shown in the columns selector/floating bar
OBJECT columns,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "Column 1");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Column 2") , "Visible", 0);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Description(26) = `Hidden Columns`");
_ObjectSetProperty( g2antt , "ColumnsFloatBarVisible", -1);

1536
How can I show the columns selector, so the user can drag and drop columns to the view
OBJECT columns,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "Column 1");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Column 2") , "Visible", 0);
_ObjectSetProperty( g2antt , "ColumnsFloatBarVisible", -1);

1535
The column's header is changed while the cursor hovers it. Is it possible to prevent that
OBJECT columns,g2antt;

g2antt =  ObjectByName("AN1") ;
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "Column 1");
	_ObjectCallMethod( columns , "Add", "Column 2");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(32) = -1");

1534
Is there any property I can save and restore automatically the current setting, column position, size, and so on (2)
OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Item 1");
	_ObjectCallMethod( items , "AddItem", "Item 2");
	_ObjectCallMethod( items , "AddItem", "Item 3");
_ObjectSetProperty( g2antt , "Layout", "Select=^"0^";SingleSort=^"C0:2^";Columns=1");
_ObjectCallMethod( g2antt , "EndUpdate");

1533
Is there any property I can save and restore automatically the current setting, column position, size, and so on (1)
OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Item 1");
	_ObjectCallMethod( items , "AddItem", "Item 2");
	_ObjectCallMethod( items , "AddItem", "Item 3");
_ObjectSetProperty( g2antt , "Layout", "gBjAAwAAuABmABpABsAB0ABlAByhoAPIAOEPAA9gYABoABQAgUEg0XN4AOcJicKkpujMbjsfkMFk0YhkQgUOjUEl8gjcGO0ok8KMULjEaGMcj08kQAO8oMkTNEtGwAG" +
	"QAqc7gUlhh1ABtAEsk9GpEfhElgVcsMupNlnlonlaAFcr0shUsp8QPEtnVJqJhmcIhUMh0QiU5sYAqMngUSuEMw07k8Qv0SgVRrNEuVflF2jF5x9JyNEm0TjQijemyE0" +
	"jE3t+YruauoAu4Az1qj9BzRn0UzksSnAA0xDjY6qnAw8OiUQ0dwzN0zWz2t7j8/xURAGNvWH6k8xlEhklhEI0O/6QAgI=");
_ObjectCallMethod( g2antt , "EndUpdate");

1532
How do I arrange my columns on multiple levels

OBJECT column,columns,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
_ObjectSetProperty( g2antt , "DrawGridLines", -1);
columns = _ObjectGetProperty( g2antt , "Columns");
	column = _ObjectCallMethod( columns , "Add", "C0");
		_ObjectSetProperty( column , "ExpandColumns", "1,2");
		_ObjectSetProperty( column , "DisplayExpandButton", 0);
	_ObjectCallMethod( columns , "Add", "C1");
	_ObjectCallMethod( columns , "Add", "C2");
	_ObjectCallMethod( columns , "Add", "C3");
	column = _ObjectCallMethod( columns , "Add", "C4");
		_ObjectSetProperty( column , "ExpandColumns", "5,6");
		_ObjectSetProperty( column , "DisplayExpandButton", 0);
	_ObjectCallMethod( columns , "Add", "C5");
	column = _ObjectCallMethod( columns , "Add", "C6");
		_ObjectSetProperty( column , "ExpandColumns", "6,7");
		_ObjectSetProperty( column , "DisplayExpandButton", 0);
	_ObjectCallMethod( columns , "Add", "C7");
_ObjectCallMethod( g2antt , "EndUpdate");

1531
Does your control support expandable header or columns, so I can arrange it on multiple levels

OBJECT column,columns,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DrawGridLines", -1);
_ObjectSetProperty( g2antt , "BackColorLevelHeader", 15790320);
columns = _ObjectGetProperty( g2antt , "Columns");
	column = _ObjectCallMethod( columns , "Add", "Photo");
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectSetProperty( column , "Width", 32);
	_ObjectCallMethod( columns , "Add", "Personal Info");
	_ObjectCallMethod( columns , "Add", "Title");
	_ObjectCallMethod( columns , "Add", "Name");
	_ObjectCallMethod( columns , "Add", "First");
	_ObjectCallMethod( columns , "Add", "Last");
	_ObjectCallMethod( columns , "Add", "Address");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", columns)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Item(`Personal Info`).ExpandColumns = `2,3`");
	column = _ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Item(`Name`)");
		_ObjectSetProperty( column , "ExpandColumns", "4,5");
		_ObjectSetProperty( column , "Expanded", 0);
_ObjectCallMethod( g2antt , "EndUpdate");

1530
I need a Day/Hour Display where the Bars should be created/resized in a 15 Minute Scale in a normal View, but in a 5 Minute Scale when on an InsideZoom. How can I do that
OBJECT chart,g2antt,insidezoomformat,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "AllowCreateBar", 1);
	_ObjectSetProperty( chart , "UnitWidth", 50);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2013");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(0).Label = 4096");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(1).Label = `<%h%>:<%nn%>`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(1).Unit = 1048576");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(1).Count = 60");
	_ObjectSetProperty( chart , "ResizeUnitScale", 1048576);
	_ObjectSetProperty( chart , "ResizeUnitCount", 15);
	_ObjectSetProperty( chart , "AllowInsideZoom", -1);
	insidezoomformat = _ObjectGetProperty( chart , "DefaultInsideZoomFormat");
		_ObjectSetProperty( insidezoomformat , "InsideCount", 5);
		_ObjectSetProperty( insidezoomformat , "InsideUnit", 1048576);
		_ObjectSetProperty( insidezoomformat , "InsideLabel", "<%nn%>");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Item");
_ObjectCallMethod( g2antt , "EndUpdate");

1529
Can I change the format of date to be shown in the control
OBJECT column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "Default");
	column = _ObjectCallMethod( columns , "Add", "Format.1");
		_ObjectSetProperty( column , "ComputedField", "%0");
		_ObjectSetProperty( column , "FormatColumn", "dateF(value) replace `/` with `-`");
	column = _ObjectCallMethod( columns , "Add", "Format.2");
		_ObjectSetProperty( column , "ComputedField", "%0");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(g2antt, "TemplatePut", column)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(17) = 1");
		_ObjectSetProperty( column , "FormatColumn", "`<b>`+ shortdate(value) + `</b> ` + timeF(value)");
	column = _ObjectCallMethod( columns , "Add", "Format.3");
		_ObjectSetProperty( column , "ComputedField", "%0");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(17) = 1");
		_ObjectSetProperty( column , "FormatColumn", "` <b>`+ ( weekday(value) case ( 0 : `Su`; 1 : `Mo`; 2 : `Tu`; 3 : `We`; 4 : `Th`; 5 : `Fr`; 6 : `Sa`) ) + `</b> ` + ( dateF(val" +
	"ue) replace `/` with `-` )");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "1/1/2001 10:00:00 AM");
	_ObjectCallMethod( items , "AddItem", "1/2/2001 10:00:00 AM");

1528
How can I display a text/caption on the chart part of the control

OBJECT chart,g2antt,items,note,notes;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "AntiAliasing", -1);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/26/2000");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Item 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","1/2/2001","1/4/2001","A");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h1")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h1)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h1,`A`,3) = `text`");
	h1 = _ObjectCallMethod( items , "AddItem", "Item 2");
	_ObjectCallMethod( items , "AddBar", h1,"Task","1/2/2001","1/4/2001","A");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h1,`A`,3) = `text outside associated with a bar`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h1,`A`,4) = 18");
	h1 = _ObjectCallMethod( items , "AddItem", "Item 3");
	_ObjectCallMethod( items , "AddBar", h1,"","1/2/2001","1/2/2001","A");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h1,`A`,3) = `text with no bar associated`");
	h1 = _ObjectCallMethod( items , "AddItem", "Item 4");
	_ObjectCallMethod( items , "AddBar", h1,"Task","1/2/2001","1/5/2001","A");
	h1 = _ObjectCallMethod( items , "AddItem", "Item 5");
	h1 = _ObjectCallMethod( items , "AddItem", "Item 6");
	h1 = _ObjectCallMethod( items , "AddItem", "Item 7");
	h1 = _ObjectCallMethod( items , "AddItem", "Item 8");
	_ObjectCallMethod( items , "AddBar", h1,"Task","1/2/2001","1/4/2001","A");
	h1 = _ObjectCallMethod( items , "AddItem", "Item 8");
	_ObjectCallMethod( items , "AddBar", h1,"Task","1/2/2001","1/6/2001","A");
notes = _ObjectGetProperty( _ObjectGetProperty( g2antt , "Chart") , "Notes");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim notObj")
	_ObjectCallMethod(g2antt, "TemplatePut", notes)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "notObj.Add(`1S`,Me.Items.ItemByIndex(3),`A`,`<font ;6>Movable Note Inside the Bar`).PartCanMove(0) = True");
	_ObjectCallMethod( notes , "Add", "AK",_ObjectCallMethod(g2antt, "ExecuteTemplate", ".Items.ItemByIndex(6)"),"1/6/2001","Note associated with a date: <%mm%>/<%dd%>/<%yyyy%>");
	note = _ObjectCallMethod( notes , "Add", "2S",_ObjectCallMethod(g2antt, "ExecuteTemplate", ".Items.ItemByIndex(7)"),"A","<font ;6>Fixed Note Left");
		_ObjectSetProperty( note , "ShowLink", 0);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim notObj")
		_ObjectCallMethod(g2antt, "TemplatePut", note)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "notObj.PartVOffset(1) = 0");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "notObj.PartHOffset(0) = -32");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "notObj.PartShadow(1) = False");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "notObj.PartBackColor(1) = 65535");
	note = _ObjectCallMethod( notes , "Add", "3S",_ObjectCallMethod(g2antt, "ExecuteTemplate", ".Items.ItemByIndex(8)"),"A","Start<br><%mmm%> <%d%> <%yyyy%>");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "notObj.PartCanMove(1) = True");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "notObj.PartHOffset(1) = -64");
		_ObjectSetProperty( note , "LinkStyle", 2);
		_ObjectSetProperty( note , "LinkWidth", 2);
		_ObjectSetProperty( note , "LinkColor", 16711680);
	note = _ObjectCallMethod( notes , "Add", "3F",_ObjectCallMethod(g2antt, "ExecuteTemplate", ".Items.ItemByIndex(8)"),"A","End<br><%mmm%> <%d%> <%yyyy%>");
		_ObjectSetProperty( note , "RelativePosition", 1);
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "notObj.PartCanMove(1) = True");
		_ObjectSetProperty( note , "LinkStyle", 2);
		_ObjectSetProperty( note , "LinkWidth", 2);
		_ObjectSetProperty( note , "LinkColor", 16711680);
_ObjectCallMethod( g2antt , "EndUpdate");

1527
Which is the best way of change Bar parent
OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( g2antt , "Debug", -1);
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Chart") , "FirstVisibleDate", "1/1/2001");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Item 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","1/2/2001","1/4/2001","A");
	h2 = _ObjectCallMethod( items , "AddItem", "Item 2");
	_ObjectCallMethod( items , "AddBar", h2,"Task","1/3/2001","1/5/2001","B");
	h3 = _ObjectCallMethod( items , "AddItem", "Item 3");
	_ObjectCallMethod( items , "AddBar", h3,"Task","1/5/2001","1/7/2001","A");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h3")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h3)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h3,`A`,512) = h1");
	Message( "The Bar A of H3 fails to change the parent to H1 as it has already a bar named A" );
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h3,`A`,512) = h2");
	Message( "The Bar A of H3 can be moved to H2, as it contains no bars with the key A" );

1526
Is it possible to have a bar in bar

OBJECT appearance,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
appearance = _ObjectGetProperty( g2antt , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAEGg4BS4Dg6AADACAxRDAMgBQKAAzQFAYbBmGaGAAGIZhQgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDKAkRRdDSOYDmGQYDiCIoRShOMIjR" +
	"LUXxtDYEIRkSZYJAKCTtBwJAAURRULR6ACUYDnSRqGj6CQKRqEVBSLAdKyXJKvaZhGIRSDUJZkWZEIyjBY8EzXNqrIDoGKqYgOQ4XV5TFgxPR9IyhEAaLrleT5TjOII/" +
	"RpOEpYXSVHxFRAAAYhG4wABCXAAXjYF5Udhlfx3FCvMbqeCcSgOWoDZZRFa0PjVQQtNC4IitGzrMqrNaDSBlGigBauKw3TKlMzye7repOA5+aJGVz7VgfGz7EDjKg0GJ" +
	"cgMex3lOZB5jgPYHHMaYxjeRBilWbZNG4B49l2do6hkfIhECUhjDoHROEYUYMgEbQMCEEx+lGIY0CQUQJHYGoUgQGBFkgB4FmkOINiMbBrAwQoxngSQMCCYJAG8DYCkM" +
	"ZJNDOAhAHCbYGGGOBqByB5hiMcJSDORhwjQKoEkKSIgHoEZEDgWJOECSwyGSGwjkWUJUh8HADiiXA6CSRgQliFwcgcSICB2EJkCKDIAB4CAxDgMoOiOIkfA4CoiDCDhA" +
	"mUEg4hEF4DHKCByA8JYpHIWwbAMIIuC6EIkCiOBwA2QpSHQbgOkoIZMD2GxmnmOhVhUJQiEwYAOAoQZQD6HhnjmaIfBuQ5BlQPQLiMEhuEKIRHmEKA7h+Q5ChQdQPmia" +
	"hCg+JBnDAAhVCVPpoicHYEAobodicKZqHqGAO0YNA0ikQxKg6IYnAqAZcEGKxqnqOowiUZRSFwYwPAqIZkEOLhrjqaIqB4BAqn6QYwCwKwWkSMZECKLo6jKBA7DKTItW" +
	"EZBlA8SpRmwRY1G0exYi0HoEEsbpdjcLZrgaYI4kQQo6laOYEFuIpojQCJiHAZgPksAZ0EePBvDuSp0j2bxrmadY+m8QpGnKP4EHwAwAjsCZxiQQQtAgAQrAiQowhKUB" +
	"/BIcJsEMD5EHETBPBYEhLFwJwZBKMY8G6bAoEaIQMjcIIEkzUZJAscgEEuShyjyKwskucpskQSwuDITJQEyTYzGuMIjBsBBCmiBATjObQDD+UB0E0DxGlCNINASO5PnS" +
	"MQ7E2Uxu3CbQRguUgYFCVR1H0WxYC2R5xDSDgVWiXA8AyNggksXwPDWQQ3FgL4IHERxsluNpdj6bAqAacQckAEQBQWxfDzF4BUYYqBKhEEQNMDgPQGhFGIDgVwKR3iiC" +
	"iIIIgig+BfA2MYOLtAqA4ESCYDIFgVDyGEKkPAQgFBDDwG4DYnQzg5GiDIOAZw3hCDoA8MQIA9PeGEHkRIyx6jiOMEoTAxRMhoCeIwUQKSbCKH6NgV43AECyFeEkEQdB" +
	"TAxC0FESQYhgB+DGPcTwYBXBZEeCIOoKg5j6EIJAbQNxJCjCAMAJwDRxghA4DEBYpk1hnHwH4DIxg3AaFGGgMQFwHhBHgGkewhhCDIHMDkDY0AlAGEAIAgIA=");
	_ObjectCallMethod( appearance , "Add", 2,"c:\exontrol\images\normal.ebn");
	_ObjectCallMethod( appearance , "Add", 3,"CP:2 2 -4 2 4");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 256");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Info");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Range Moveable Frame");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/4/2001","1/8/2001","F");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`F`,6) = `This bar can be moved inside the displayed range.`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`F`,22) = #1/2/2001#");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`F`,25) = #1/18/2001#");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`F`,26) = 32");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`F`,27) = 90");
	h = _ObjectCallMethod( items , "AddItem", "Range Moveable Pattern");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/6/2001","1/10/2001","F");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`F`,6) = `This bar can be moved inside the displayed range.`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`F`,22) = #1/2/2001#");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`F`,25) = #1/18/2001#");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`F`,26) = 1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`F`,27) = 90");
	h = _ObjectCallMethod( items , "AddItem", "Range Moveable EBN Transparent");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/8/2001","1/12/2001","F");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`F`,6) = `This bar can be moved inside the displayed range.`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`F`,22) = #1/2/2001#");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`F`,25) = #1/18/2001#");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`F`,26) = 16777216");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`F`,27) = 50");
	h = _ObjectCallMethod( items , "AddItem", "Range Moveable EBN Opaque 1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemHeight(h) = 24");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/10/2001","1/14/2001","F");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`F`,6) = `This bar can be moved inside the displayed range.`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`F`,22) = #1/2/2001#");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`F`,25) = #1/18/2001#");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`F`,26) = 33554432");
	h = _ObjectCallMethod( items , "AddItem", "Range Moveable EBN Opaque 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemHeight(h) = 24");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/12/2001","1/16/2001","F");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`F`,6) = `This bar can be moved inside the displayed range.`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`F`,22) = #1/2/2001#");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`F`,25) = #1/18/2001#");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`F`,26) = 50331648");
_ObjectCallMethod( g2antt , "EndUpdate");

1525
How can I show vertical lines using the SelectDate

OBJECT appearance,chart,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
appearance = _ObjectGetProperty( g2antt , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAEGg4BK8IQAAYAQGKIYBkAKBQAGaAoDDYMwzQwAAxDMKEEwsACEIrjKCRShyCYZRhGcTAFD8EhhECTY4lCQJAiKLoeQLHMBybJ8LwiGQaRJmeaYR" +
	"DUMI6QjPVARVIkaxhCSSaKpIAIBEB");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 0");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2008");
	_ObjectSetProperty( chart , "MarkTodayColor", _ObjectGetProperty( chart , "BackColor"));
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "AllowSelectDate", 0);
	_ObjectSetProperty( chart , "MarkSelectDateColor", 16777216);
	_ObjectSetProperty( chart , "SelectLevel", 1);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.SelectDate(#1/15/2008#) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.SelectDate(#1/18/2008#) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1524
How can I show vertical lines using the SelectDate

OBJECT chart,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 0");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2008");
	_ObjectSetProperty( chart , "MarkTodayColor", _ObjectGetProperty( chart , "BackColor"));
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "AllowSelectDate", 0);
	_ObjectSetProperty( chart , "MarkSelectDateColor", 2147418112);
	_ObjectSetProperty( chart , "SelectLevel", 1);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.SelectDate(#1/15/2008#) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.SelectDate(#1/18/2008#) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1523
How can I find if there is any filter applied to the control
// FilterChange event - Occurs when the filter was changed.
FUNCTION g2anttEvents_FilterChange()
	Message( "If negative, the filter is present, else not" );
	Message( _ObjectGetProperty( _ObjectGetProperty( g2antt , "Items") , "VisibleItemCount") );
END

OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
_ObjectSetProperty( g2antt , "TreeColumnIndex", -1);
_ObjectSetProperty( g2antt , "FilterInclude", 4);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "C1");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "R1");
	_ObjectCallMethod( items , "InsertItem", h,"","C1");
	_ObjectCallMethod( items , "InsertItem", h,"","C2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "R2");
	_ObjectCallMethod( items , "InsertItem", h,"","C1");
	_ObjectCallMethod( items , "InsertItem", h,"","C2");
_ObjectCallMethod( g2antt , "ApplyFilter");
_ObjectCallMethod( g2antt , "EndUpdate");

1522
How can I prevent showing the lines for the hierarchy while using the exMatchingItemsOnly option
OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
_ObjectSetProperty( g2antt , "TreeColumnIndex", -1);
_ObjectSetProperty( g2antt , "FilterInclude", 4);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "C1|C2");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "R1");
	_ObjectCallMethod( items , "InsertItem", h,"","C1");
	_ObjectCallMethod( items , "InsertItem", h,"","C2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "R2");
	_ObjectCallMethod( items , "InsertItem", h,"","C1");
	_ObjectCallMethod( items , "InsertItem", h,"","C2");
_ObjectCallMethod( g2antt , "ApplyFilter");
_ObjectCallMethod( g2antt , "EndUpdate");

1521
Is there any method to get only the matched items and not the items with his parent
OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
_ObjectSetProperty( g2antt , "FilterInclude", 4);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "C1|C2");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "R1");
	_ObjectCallMethod( items , "InsertItem", h,"","C1");
	_ObjectCallMethod( items , "InsertItem", h,"","C2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "R2");
	_ObjectCallMethod( items , "InsertItem", h,"","C1");
	_ObjectCallMethod( items , "InsertItem", h,"","C2");
_ObjectCallMethod( g2antt , "ApplyFilter");
_ObjectCallMethod( g2antt , "EndUpdate");

1520
Is it possible to specify a working day exception that would override the non-working day pattern
OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pattern");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstWeekDay", 1);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/24/2008");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 52");
	_ObjectSetProperty( chart , "LevelCount", 2);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Default");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemNonworkingUnits(AddItem(`1/26/2008`),False) = `weekday(value) case (default:0 ; 0:1; 6:(value != #1/26/2008#))`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemNonworkingUnits(AddItem(`1/27/2008`),False) = `weekday(value) case (default:0 ; 0:(value != #1/27/2008#); 6:1)`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemNonworkingUnits(AddItem(`Sundays`),False) = `weekday(value) = 0`");
_ObjectCallMethod( g2antt , "EndUpdate");

1519
How do I enable the scrollbar-extension, as thumb to be shown outside of the control's client area
OBJECT g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ScrollBars", 15);
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Chart") , "ToolTip", "");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "ScrollPartVisible(0,65536) = True");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "ScrollPartVisible(1,65536) = True");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "ScrollPartVisible(2,65536) = True");
_ObjectSetProperty( g2antt , "ScrollWidth", 4);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(276) = 15790320");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(260) = 8421504");
_ObjectSetProperty( g2antt , "ScrollHeight", 4);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(404) = Background(276)");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(388) = Background(260)");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(511) = Background(276)");
_ObjectCallMethod( g2antt , "EndUpdate");

1518
Is it possible to associate an extra frame, border, EBN to the bar/task

OBJECT appearance,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
appearance = _ObjectGetProperty( g2antt , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAEGg4BNACg6AADACAxRDAMgBQKAAzQFAYbhsGCGAAGEZBQgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDEAkRRdDSOYDmGQYDiCIoRShOMaTV" +
	"J8bQ2ASEaAmWK3boUAJFPrFc6ABJMZRRISXJABeKwRoGJYaUhRdDRNCIZBqEqua7iEZRQqCCZkWZPNTRVScByhF61IDpWjKLDKJJwXBMcxyBL0NRxFTAKawGoYbq0AJQ" +
	"VTQcZPVhgAYYfSlMDuOB5Gq+G5SQjhWIgBjde4dRrHYrsGyQAp7JJoWLZMQyFIFIYNTS8LgpPI6LyyP5rABhWw5PiUVyfWTMdwzPatbyKHJicbpepWPxcNYtNzcNb3SA" +
	"bn+KgAmqP5yDiIAACIEhQDSGJOgcU4RhQYwgFUQwIESXxEGgbQJBQQhzHmUAAGILh0lWbpEGIIQQHuegaAaoRYBUBYBCgFAOAOQJgC4CgCCCQAUAQARACgRZFEa3ogCc" +
	"CICDCDZ9AeH5wGgFoHmAUBIA6CJgiALgMAIABYiYER+BuMIyC4CZjAcYgygyYxIlYNoNBGMJGDoCximiXg+g+Yx0G0DgNiOIJGECEZkgQbA7A8A5JA4SITmOZBsEGFJD" +
	"kkLhQhXOItBYEZEGEHBCBARApGIYh1EAaIoAMQIEkENBNBGZpJg4YgCGcAAaGUAAFCmVhqBMZppGADQDACQAmAwAAFgoBh1BSJ4ZFwEEdHmcFmgWag2gEFhoFlINYkoH" +
	"AQAABhKGQX4jGkGQ8BiJ5BDqBAABqKl1GSJxkgAcoqAYAR3lQcIrkaOoSiiEZCBCBAgiqAaJHaLpHBqQoliaBZxHwWYwkUQRMFQExEmENBJBIRIBAgQwQkOYJ0D4DhDg" +
	"CYAzjWQpgjwLgKi2QIWl4CACADeofC4SpsHcHArlqRBqBkbpLAaQoxAUQRQE6PLoCaT40AOYJ6lWNdXlAL4/m2QIql4CRAAQBCAg=");
	_ObjectCallMethod( appearance , "Add", 2,"CP:1 -4 -4 4 4");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
_ObjectSetProperty( g2antt , "DrawGridLines", -1);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "DrawGridLines", -1);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task"),"Task","1/2/2001","1/5/2001","K1");
	h = _ObjectCallMethod( items , "AddItem", "Task/ EBN Frame");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemHeight(h) = 32");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/3/2001","1/15/2001","K2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K2`,51) = 33554432");
	h = _ObjectCallMethod( items , "AddItem", "Task/ EBN Frame");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemHeight(h) = 32");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/3/2001","1/15/2001","K2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K2`,51) = 50331392");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task"),"Task","1/2/2001","1/5/2001","K3");
_ObjectCallMethod( g2antt , "EndUpdate");

1517
Is it possible to automatically display the working days duration in a column
OBJECT chart,column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "Tasks");
	column = _ObjectCallMethod( columns , "Add", "Duration");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(g2antt, "TemplatePut", column)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(18) = 513");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(19) = `A`");
	column = _ObjectCallMethod( columns , "Add", "Working");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(18) = 258");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(19) = `A`");
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Items") , "AllowCellValueToItemBar", -1);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/3/2002");
	_ObjectSetProperty( chart , "LevelCount", 2);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/4/2002","1/8/2002","A");
_ObjectCallMethod( g2antt , "EndUpdate");

1516
How can I apply colors to columns section of the control based on properties of the displaying bars

// BarResize event - Occurs when a bar is moved or resized.
FUNCTION g2anttEvents_BarResize(OBJECT g2antt, INT Item, VARIANT Key)
	_ObjectCallMethod( g2antt , "Refresh");
END

OBJECT chart,column,conditionalformat,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "<fgcolor=FF0000>Tasks > 2 days");
	_ObjectSetProperty( column , "HTMLCaption", _ObjectGetProperty( column , "Caption"));
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "PropertyBar");
	_ObjectSetProperty( column , "Visible", 0);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(19) = ``");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(18) = 513");
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Items") , "AllowCellValueToItemBar", -1);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 96");
	_ObjectSetProperty( chart , "NonworkingDays", 0);
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( g2antt , "ConditionalFormats") , "Add", "%1 > 2");
	_ObjectSetProperty( conditionalformat , "ForeColor", 255);
	_ObjectSetProperty( conditionalformat , "Bold", -1);
_ObjectSetProperty( g2antt , "SelBackColor", _ObjectGetProperty( g2antt , "BackColor"));
_ObjectSetProperty( g2antt , "SelForeColor", _ObjectGetProperty( g2antt , "ForeColor"));
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 1"),"Task","1/2/2001","1/4/2001","");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 2"),"Task","1/4/2001","1/7/2001","");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 1"),"Task","1/2/2001","1/4/2001","");
_ObjectCallMethod( g2antt , "EndUpdate");

1515
Is it possible to update the colors on columns caption to highlight the critical path ( CPM )

// BarResize event - Occurs when a bar is moved or resized.
FUNCTION g2anttEvents_BarResize(OBJECT g2antt, INT Item, VARIANT Key)
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "SchedulePDM", Item,Key);
	_ObjectCallMethod( g2antt , "Refresh");
END

OBJECT chart,column,conditionalformat,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "PropertyBar");
	_ObjectSetProperty( column , "Visible", 0);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(19) = ``");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(18) = 269");
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Items") , "AllowCellValueToItemBar", -1);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "NonworkingDays", 0);
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( g2antt , "ConditionalFormats") , "Add", "%1 != 0");
	_ObjectSetProperty( conditionalformat , "ForeColor", 255);
	_ObjectSetProperty( conditionalformat , "Bold", -1);
_ObjectSetProperty( g2antt , "SelBackColor", _ObjectGetProperty( g2antt , "BackColor"));
_ObjectSetProperty( g2antt , "SelForeColor", _ObjectGetProperty( g2antt , "ForeColor"));
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","1/2/2001","1/4/2001","");
	h2 = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h2,"Task","1/2/2001","1/4/2001","");
	_ObjectCallMethod( items , "AddLink", "L1",h1,"",h2,"");
	h3 = _ObjectCallMethod( items , "AddItem", "Task 3");
	_ObjectCallMethod( items , "AddBar", h3,"Task","1/2/2001","1/4/2001","");
	_ObjectCallMethod( items , "AddLink", "L2",h2,"",h3,"");
	h4 = _ObjectCallMethod( items , "AddItem", "Task 3");
	_ObjectCallMethod( items , "AddBar", h4,"Task","1/2/2001","1/3/2001","");
	_ObjectCallMethod( items , "AddLink", "L3",h2,"",h4,"");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.DefSchedulePDM(5) = 255");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.DefSchedulePDM(7) = 255");
	_ObjectCallMethod( items , "SchedulePDM", 0,"");
_ObjectCallMethod( g2antt , "EndUpdate");

1514
I am using the AddShapeCorner to define icon-bars. Is it possible to define with a different color

OBJECT bar,bars,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( g2antt , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	bars = _ObjectGetProperty( chart , "Bars");
		_ObjectCallMethod( bars , "AddShapeCorner", 12345,1);
		bar = _ObjectCallMethod( bars , "Copy", "Milestone","Original");
			_ObjectSetProperty( bar , "StartShape", 12345);
			_ObjectSetProperty( bar , "StartColor", -1);
		bar = _ObjectCallMethod( bars , "Copy", "Milestone","Red");
			_ObjectSetProperty( bar , "StartShape", 12345);
			_ObjectSetProperty( bar , "StartColor", 255);
		bar = _ObjectCallMethod( bars , "Copy", "Milestone","Green");
			_ObjectSetProperty( bar , "StartShape", 12345);
			_ObjectSetProperty( bar , "StartColor", 65280);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Original"),"Original","1/2/2001","1/2/2001");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Red"),"Red","1/2/2001","1/2/2001");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Green"),"Green","1/2/2001","1/2/2001");
_ObjectCallMethod( g2antt , "EndUpdate");

1513
My icon-bars shows different when displaying in the chart. Any ideas
OBJECT bar,bars,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Chart") , "FirstVisibleDate", "1/1/2001");
bars = _ObjectGetProperty( _ObjectGetProperty( g2antt , "Chart") , "Bars");
	_ObjectCallMethod( bars , "AddShapeCorner", 12345,1);
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Item(`Milestone`)");
		_ObjectSetProperty( bar , "StartShape", 12345);
		_ObjectSetProperty( bar , "StartColor", -1);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Item 1"),"Milestone","1/2/2001","1/2/2001");

1512
The items are not colored in the chart panel

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(False) = 128");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Item");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Me.Chart.ItemBackColor(h) = 65280");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Me.Items.ItemBackColor(h) = 65280");

1511
I need to know how to determine the critical path (CPM) after the SchedulePDM procedure, so I can turn red the bars and links

// BarResize event - Occurs when a bar is moved or resized.
FUNCTION g2anttEvents_BarResize(OBJECT g2antt, INT Item, VARIANT Key)
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "SchedulePDM", Item,Key);
END

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "NonworkingDays", 0);
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","1/2/2001","1/4/2001","K1");
	h2 = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h2,"Task","1/2/2001","1/4/2001","K2");
	_ObjectCallMethod( items , "AddLink", "L1",h1,"K1",h2,"K2");
	h3 = _ObjectCallMethod( items , "AddItem", "Task 3");
	_ObjectCallMethod( items , "AddBar", h3,"Task","1/2/2001","1/4/2001","K3");
	_ObjectCallMethod( items , "AddLink", "L2",h2,"K2",h3,"K3");
	h4 = _ObjectCallMethod( items , "AddItem", "Task 3");
	_ObjectCallMethod( items , "AddBar", h4,"Task","1/2/2001","1/3/2001","K4");
	_ObjectCallMethod( items , "AddLink", "L3",h2,"K2",h4,"K4");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.DefSchedulePDM(5) = 255");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.DefSchedulePDM(7) = 255");
	_ObjectCallMethod( items , "SchedulePDM", 0,"K1");
_ObjectCallMethod( g2antt , "EndUpdate");

1510
How can I display the Year in Thai, Buddhist, Korean format

OBJECT chart,g2antt,level;

g2antt =  ObjectByName("AN1") ;
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstWeekDay", _ObjectGetProperty( chart , "LocFirstWeekDay"));
	_ObjectSetProperty( chart , "MonthNames", _ObjectGetProperty( chart , "LocMonthNames"));
	_ObjectSetProperty( chart , "WeekDays", _ObjectGetProperty( chart , "LocWeekDays"));
	_ObjectSetProperty( chart , "AMPM", _ObjectGetProperty( chart , "LocAMPM"));
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 0");
	_ObjectSetProperty( chart , "UnitScale", 4096);
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(0)");
		_ObjectSetProperty( level , "Label", "<%mmmm%> <%d%>, <%loc_yyyy%> <r><%ww%>");
		_ObjectSetProperty( level , "Unit", 256);
		_ObjectSetProperty( level , "ToolTip", _ObjectGetProperty( level , "Label"));
	_ObjectSetProperty( chart , "ToolTip", "<%ddd%> <%m%>/<%d%>/<%loc_yyyy%>");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Description(17) = Chart.MonthNames");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "DefaultEditorOption(30) = Chart.MonthNames");

1509
How does localization work

OBJECT chart,g2antt;

g2antt =  ObjectByName("AN1") ;
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstWeekDay", _ObjectGetProperty( chart , "LocFirstWeekDay"));
	_ObjectSetProperty( chart , "MonthNames", _ObjectGetProperty( chart , "LocMonthNames"));
	_ObjectSetProperty( chart , "WeekDays", _ObjectGetProperty( chart , "LocWeekDays"));
	_ObjectSetProperty( chart , "AMPM", _ObjectGetProperty( chart , "LocAMPM"));
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 0");

1508
Is it possible to show the bars with a different brightness (2)

OBJECT appearance,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
appearance = _ObjectGetProperty( g2antt , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"C:/Program Files/Exontrol/ExG2antt/Sample/EBN/2task--.ebn");
	_ObjectCallMethod( appearance , "Add", 2,"C:/Program Files/Exontrol/ExG2antt/Sample/EBN/2task-.ebn");
	_ObjectCallMethod( appearance , "Add", 3,"C:/Program Files/Exontrol/ExG2antt/Sample/EBN/2task.ebn");
	_ObjectCallMethod( appearance , "Add", 4,"C:/Program Files/Exontrol/ExG2antt/Sample/EBN/2task+.ebn");
	_ObjectCallMethod( appearance , "Add", 5,"C:/Program Files/Exontrol/ExG2antt/Sample/EBN/2task++.ebn");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "NonworkingDays", 0);
	_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Copy", "Task","--") , "Color", 16777216);
	_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Copy", "Task","-") , "Color", 33554432);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`).Color = 50331648");
	_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Copy", "Task","+") , "Color", 67108864);
	_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Copy", "Task","++") , "Color", 83886080);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Brightness");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "0%");
	_ObjectCallMethod( items , "AddBar", h,"--","1/2/2001","1/4/2001","--");
	_ObjectCallMethod( items , "AddBar", h,"-","1/5/2001","1/7/2001","-");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/8/2001","1/10/2001","");
	_ObjectCallMethod( items , "AddBar", h,"+","1/11/2001","1/13/2001","+");
	_ObjectCallMethod( items , "AddBar", h,"++","1/14/2001","1/16/2001","++");
	h = _ObjectCallMethod( items , "AddItem", "25%");
	_ObjectCallMethod( items , "AddBar", h,"--","1/2/2001","1/4/2001","--");
	_ObjectCallMethod( items , "AddBar", h,"-","1/5/2001","1/7/2001","-");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/8/2001","1/10/2001","");
	_ObjectCallMethod( items , "AddBar", h,"+","1/11/2001","1/13/2001","+");
	_ObjectCallMethod( items , "AddBar", h,"++","1/14/2001","1/16/2001","++");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`<*>`,19) = 25");
	h = _ObjectCallMethod( items , "AddItem", "50%");
	_ObjectCallMethod( items , "AddBar", h,"--","1/2/2001","1/4/2001","--");
	_ObjectCallMethod( items , "AddBar", h,"-","1/5/2001","1/7/2001","-");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/8/2001","1/10/2001","");
	_ObjectCallMethod( items , "AddBar", h,"+","1/11/2001","1/13/2001","+");
	_ObjectCallMethod( items , "AddBar", h,"++","1/14/2001","1/16/2001","++");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`<*>`,19) = 50");
	h = _ObjectCallMethod( items , "AddItem", "75%");
	_ObjectCallMethod( items , "AddBar", h,"--","1/2/2001","1/4/2001","--");
	_ObjectCallMethod( items , "AddBar", h,"-","1/5/2001","1/7/2001","-");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/8/2001","1/10/2001","");
	_ObjectCallMethod( items , "AddBar", h,"+","1/11/2001","1/13/2001","+");
	_ObjectCallMethod( items , "AddBar", h,"++","1/14/2001","1/16/2001","++");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`<*>`,19) = 75");

1507
Is it possible to show the bars with a different brightness (1)

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( _ObjectGetProperty( g2antt , "VisualAppearance") , "Add", 1,"c:\exontrol\images\normal.ebn");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`).Color = 16777216");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Brightness");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "0%");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/4/2001");
	h = _ObjectCallMethod( items , "AddItem", "25%");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/4/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,19) = 25");
	h = _ObjectCallMethod( items , "AddItem", "50%");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/4/2001");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,19) = 50");
	h = _ObjectCallMethod( items , "AddItem", "75%");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/4/2001");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,19) = 75");

1506
So the behavior I am looking for is that a change can cascade through a bar's successors, but a change that would affect a bar's predecessors is not allowed. Is this possible to in ExG2antt

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "MarkSearchColumn", 0);
_ObjectSetProperty( g2antt , "OnResizeControl", 1);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Start") , "Visible", 0);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "End") , "Visible", 0);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/18/2006");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 64");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.ScrollRange(0) = FirstVisibleDate");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.ScrollRange(1) = #12/31/2006#");
	_ObjectSetProperty( chart , "MarkSelectDateColor", 2147418112);
	_ObjectSetProperty( chart , "SelectLevel", 1);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.SelectDate(#9/19/2006#) = True");
	_ObjectSetProperty( chart , "AllowCreateBar", 0);
	_ObjectSetProperty( chart , "AllowLinkBars", 0);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Project");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = #9/21/2006#");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = #10/3/2006#");
	_ObjectCallMethod( items , "AddBar", h,"Summary",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2)"),"sum");
	h1 = _ObjectCallMethod( items , "InsertItem", h,"","Task 1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h,h1")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "TemplatePut", h1)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,1) = CellValue(h,1)");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h1")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h1)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,2) = #9/24/2006#");
	_ObjectCallMethod( items , "AddBar", h1,"Task",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,1)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,2)"),"K1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h1,`K1`,22) = #9/20/2006#");
	h2 = _ObjectCallMethod( items , "InsertItem", h,"","Task 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h1,h2")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h1)
	_ObjectCallMethod(g2antt, "TemplatePut", h2)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h2,1) = CellValue(h1,2)");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h2")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h2)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h2,2) = #9/28/2006#");
	_ObjectCallMethod( items , "AddBar", h2,"Unknown",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h2,1)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h2,2)"),"K2");
	_ObjectCallMethod( items , "AddLink", "L1",h1,"K1",h2,"K2");
	h3 = _ObjectCallMethod( items , "InsertItem", h,"","Task 3");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h2,h3")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h2)
	_ObjectCallMethod(g2antt, "TemplatePut", h3)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h3,1) = CellValue(h2,2)");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h,h3")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "TemplatePut", h3)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h3,2) = CellValue(h,2)");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h3")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h3)
	_ObjectCallMethod( items , "AddBar", h3,"Task",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h3,1)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h3,2)"),"K3");
	_ObjectCallMethod( items , "AddLink", "L2",h2,"K2",h3,"K3");
	_ObjectCallMethod( items , "GroupBars", h1,"K1",0,h2,"K2",-1,31,"0;4");
	_ObjectCallMethod( items , "GroupBars", h2,"K2",0,h3,"K3",-1,31,"0;2");
	_ObjectCallMethod( items , "DefineSummaryBars", h,"sum",h1,"K1");
	_ObjectCallMethod( items , "DefineSummaryBars", h,"sum",h2,"K2");
	_ObjectCallMethod( items , "DefineSummaryBars", h,"sum",h3,"K3");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBold(h) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1505
How can I have a case-insensitive filter (exFilterDoCaseSensitive flag is not set)
OBJECT column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectSetProperty( g2antt , "MarkSearchColumn", 0);
columns = _ObjectGetProperty( g2antt , "Columns");
	column = _ObjectCallMethod( columns , "Add", "Car");
		_ObjectSetProperty( column , "DisplayFilterButton", -1);
		_ObjectSetProperty( column , "FilterType", 240);
		_ObjectSetProperty( column , "Filter", "MAZDA");
	column = _ObjectCallMethod( columns , "Add", "Equipment");
		_ObjectSetProperty( column , "DisplayFilterButton", -1);
		_ObjectSetProperty( column , "DisplayFilterPattern", 0);
		_ObjectSetProperty( column , "CustomFilter", "Air Bag||*Air Bag*|||Air condition||*Air condition*|||ABS||*ABS*|||ESP||*ESP*");
		_ObjectSetProperty( column , "FilterType", 3);
		_ObjectSetProperty( column , "Filter", "AIR BAG");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Mazda`),1) = `Air Bag`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Toyota`),1) = `Air Bag,Air condition`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Ford`),1) = `Air condition`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Nissan`),1) = `Air Bag,ABS,ESP`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Mazda`),1) = `Air Bag, ABS,ESP`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Mazda`),1) = `ABS,ESP`");
_ObjectCallMethod( g2antt , "ApplyFilter");
_ObjectCallMethod( g2antt , "EndUpdate");

1504
How can I have a case-sensitive filter
OBJECT column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectSetProperty( g2antt , "MarkSearchColumn", 0);
columns = _ObjectGetProperty( g2antt , "Columns");
	column = _ObjectCallMethod( columns , "Add", "Car");
		_ObjectSetProperty( column , "DisplayFilterButton", -1);
		_ObjectSetProperty( column , "FilterType", 496);
		_ObjectSetProperty( column , "Filter", "Mazda");
	column = _ObjectCallMethod( columns , "Add", "Equipment");
		_ObjectSetProperty( column , "DisplayFilterButton", -1);
		_ObjectSetProperty( column , "DisplayFilterPattern", 0);
		_ObjectSetProperty( column , "CustomFilter", "Air Bag||*Air Bag*|||Air condition||*Air condition*|||ABS||*ABS*|||ESP||*ESP*");
		_ObjectSetProperty( column , "FilterType", 259);
		_ObjectSetProperty( column , "Filter", "Air Bag");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Mazda`),1) = `Air Bag`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Toyota`),1) = `Air Bag,Air condition`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Ford`),1) = `Air condition`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Nissan`),1) = `Air Bag,ABS,ESP`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Mazda`),1) = `Air Bag, ABS,ESP`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Mazda`),1) = `ABS,ESP`");
_ObjectCallMethod( g2antt , "ApplyFilter");
_ObjectCallMethod( g2antt , "EndUpdate");

1503
Is it possible to add a custom label to the days with a specified background color

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"","1/2/2001","1/8/2001","K1","Leave Blank");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h1")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h1)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h1,`K1`,29) = False");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h1,`K1`,7) = 255");
_ObjectCallMethod( g2antt , "EndUpdate");

1502
What is the event fired when I change "...Chart.PaneWidthLeft" (or "...Chart.PaneWidthRight") in the Gantt splitter window
// ChartEndChanging event - Occurs after the chart has been changed.
FUNCTION g2anttEvents_ChartEndChanging(OBJECT g2antt, INT Operation)
	Message( "End Operation(exVSplitterChange(10)" );
	Message( Operation );
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim _ObObj")
	_ObjectCallMethod(g2antt, "TemplatePut", _ObjectGetProperty( g2antt , "Chart"))
	Message( "PaneWidth:" );
	Message( _ObjectCallMethod(g2antt, "ExecuteTemplate", "_ObObj.PaneWidth(0)") );
END

// ChartStartChanging event - Occurs when the chart is about to be changed.
FUNCTION g2anttEvents_ChartStartChanging(OBJECT g2antt, INT Operation)
	Message( "Start Operation(exVSplitterChange(10)" );
	Message( Operation );
	Message( "PaneWidth:" );
	Message( _ObjectCallMethod(g2antt, "ExecuteTemplate", "_ObObj.PaneWidth(0)") );
END



1501
I want to ask if I can select more than one bar in the chart and move them together

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/29/2000");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 64");
	_ObjectSetProperty( chart , "LevelCount", 2);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 1"),"Task","1/2/2001","1/4/2001","K1");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 2"),"Task","1/4/2001","1/6/2001","K2");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 3"),"Task","1/8/2001","1/10/2001","K3");
	h = _ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddBar", h,"","1/8/2001","1/10/2001","","<b>Right click</b> the chart, start dragging to select multiple bars<br>or click a bar while pressing the <b>CTRL</b> key");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemHeight(h) = 36");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,29) = False");
_ObjectCallMethod( g2antt , "EndUpdate");